package com.thread;

/**
 * @ClassName safeDemo
 * @Description 多线程安全、同步
 * @Author 2214361854
 * @Date 2022/3/2 15:45
 * @Version 1.0
 */
public class safeDemo {
//    public static void main(String[] args) {
//        Account acc = new Account("ICBC-111",100000);
//
//        new DrawThread(acc,"小明").start();
//        new DrawThread(acc,"小红").start();
//
//    }
//}
//class DrawThread extends Thread{
//    private Account acc;
//
//    public DrawThread(Account acc,String name) {
//        super(name);
//        this.acc = acc;
//    }
//
//    public DrawThread() {
//    }
//
//    @Override
//    public void run() {
//        acc.drawMoney(100000);
//    }
//}
//
//class Account{
//    private String cardID;
//    private double money;
//
//    public Account() {
//    }
//
//    public Account(String cardID, double money) {
//        this.cardID = cardID;
//        this.money = money;
//    }
//
//    public String getCardID() {
//        return cardID;
//    }
//
//    public void setCardID(String cardID) {
//        this.cardID = cardID;
//    }
//
//    public double getMoney() {
//        return money;
//    }
//
//    public void setMoney(double money) {
//        this.money = money;
//    }
//
//    /**
//     * 同步方法、同步代码块
//     * @param money
//     */
//    public synchronized void drawMoney(double money) {
//        String name = Thread.currentThread().getName();
//        //同步代码块，解决多线程安全
////        synchronized (this) {
//            if(this.money >= money){
//                System.out.println(name+"取钱："+money);
//                this.money -= money;
//                System.out.println(name+"剩余："+this.money);
//            }else{
//                System.out.println(name+"余额不足！");
//            }
////        }
//    }
}